﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеОтчетамиЗК
	{
		// Процедура заменяет шаблон запроса к регламентированному календарю на автосгенерированный запрос.
		//

		public void ЗаменитьВСКДТекстЗапросКалендаря(/*СКД, НачалоПериода, КонецПериода, СоответствиеНаборовДанныхИЗапросов*/)
		{
			//СоответствиеНаборовДанныхИЗапросов =  Новый Соответствие;
			/*ТекстЗапПоКалендарю = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	|	НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК ПериодРегистрации
	|ПОМЕСТИТЬ Периоды
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
	|ГДЕ
	|	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода";*/
			//ДтНачМесяца = НачалоМесяца(НачалоПериода);
			/*ТекстЗапросаЗамены = "ВЫБРАТЬ
	|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ПериодРегистрации
	|ПОМЕСТИТЬ Периоды";*/
			//ДтНачМесяца = ДобавитьМесяц(ДтНачМесяца, 1);
			while(true/*ДтНачМесяца <= КонецПериода*/)
			{
				/*ТекстЗапросаЗамены =  ТекстЗапросаЗамены + "
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ
		|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ПериодРегистрации
		|";*/
				//ДтНачМесяца = ДобавитьМесяц(ДтНачМесяца, 1);
			}
			/*;
	
	ЗаменитьЗапросККалендарю(СКД.НаборыДанных, ТекстЗапПоКалендарю, ТекстЗапросаЗамены, СоответствиеНаборовДанныхИЗапросов);*/
		}

		public void ЗаменитьЗапросККалендарю(/*НаборыДанных, ТекстЗапросККалендарю, ТекстЗапросЗамены, СоответствиеНаборовДанныхИЗапросов*/)
		{
		}

		public object ЗаменитьОбращениеКРегиструСведенийКалендарь(/*ТекстЗапроса,  НачалоПериода, КонецПериода*/)
		{
			//ДтНачМесяца = НачалоМесяца(НачалоПериода);
			/*ТекстЗапросаЗамены = "ВЫБРАТЬ
	|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ДатаКалендаря";*/
			//ДтНачМесяца = ДтНачМесяца + 86400;
			while(true/*ДтНачМесяца <= КонецПериода*/)
			{
				/*ТекстЗапросаЗамены =  ТекстЗапросаЗамены + "
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ
		|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ДатаКалендаря
		|";*/
				//ДтНачМесяца = ДтНачМесяца + 86400;
			}
			/*;
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РегистрСведений.РегламентированныйПроизводственныйКалендарь", "("+ТекстЗапросаЗамены+")");*/
			return null;
		}

		public void ПодставитьРасчетПолей(/*ТекстЗапроса, ТаблицаВычисленияРаботника, ТаблицаДанныхОРаботниках, ИмяПоляПодразделения = Неопределено, ИмяПоляДолжность = Неопределено, ИмяПоляОрганизация = Неопределено*/)
		{
			/*ПолеПодразделние = "ВЫБОР
	|КОГДА РаботникиПредприятия.ДатаПоследнегоДвижения ЕСТЬ НЕ NULL 
	|		И РаботникиПредприятия.Состояние <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|				ТОГДА РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения
	|			ИНАЧЕ РаботникиОрганизаций.ПодразделениеОрганизации
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Состояние = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|		И НАЧАЛОПЕРИОДА(РаботникиПредприятия.ДатаПоследнегоДвижения, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаботникиПредприятия.Дата, МЕСЯЦ)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|				ТОГДА РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения
	|			ИНАЧЕ РаботникиОрганизаций.ПодразделениеОрганизации
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Состояние = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|		И НАЧАЛОПЕРИОДА(РаботникиПредприятия.ДатаПоследнегоДвижения, ДЕНЬ) < НАЧАЛОПЕРИОДА(РаботникиПредприятия.Дата, МЕСЯЦ)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиПредприятия.Договор ЕСТЬ НЕ NULL 
	|				ТОГДА РаботникиПредприятия.Договор.ПодразделениеОрганизации
	|			ИНАЧЕ ВЫБОР
	|					КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|							И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|						ТОГДА РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения
	|					ИНАЧЕ РаботникиОрганизаций.ПодразделениеОрганизации
	|				КОНЕЦ
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Договор ЕСТЬ НЕ NULL 
	|		И РаботникиПредприятия.Состояние ЕСТЬ NULL 
	|	ТОГДА РаботникиПредприятия.Договор.ПодразделениеОрганизации
	|КОНЕЦ";*/
			/*ПолеДолжность = "ВЫБОР
	|КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|		И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|	ТОГДА РаботникиОрганизаций.ДолжностьЗавершения
	|ИНАЧЕ РаботникиОрганизаций.Должность
	|КОНЕЦ";*/
			/*ПолеОрганизация = "ВЫБОР
	|КОГДА РаботникиПредприятия.ДатаПоследнегоДвижения ЕСТЬ НЕ NULL 
	|		И РаботникиПредприятия.Состояние <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|				ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения
	|			ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Состояние = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|		И НАЧАЛОПЕРИОДА(РаботникиПредприятия.ДатаПоследнегоДвижения, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РаботникиПредприятия.Дата, МЕСЯЦ)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|				ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения
	|			ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Состояние = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|		И НАЧАЛОПЕРИОДА(РаботникиПредприятия.ДатаПоследнегоДвижения, ДЕНЬ) < НАЧАЛОПЕРИОДА(РаботникиПредприятия.Дата, МЕСЯЦ)
	|	ТОГДА ВЫБОР
	|			КОГДА РаботникиПредприятия.Договор ЕСТЬ НЕ NULL 
	|				ТОГДА РаботникиПредприятия.Договор.организация
	|			ИНАЧЕ ВЫБОР
	|					КОГДА РаботникиОрганизаций.ПериодЗавершения <= РаботникиПредприятия.Дата
	|							И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|						ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения
	|					ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение
	|				КОНЕЦ
	|		КОНЕЦ
	|КОГДА РаботникиПредприятия.Договор ЕСТЬ НЕ NULL 
	|		И РаботникиПредприятия.Состояние ЕСТЬ NULL 
	|	ТОГДА РаботникиПредприятия.Договор.Организация
	|КОНЕЦ";*/
			//ПолеПодразделние = СтрЗаменить(ПолеПодразделние, "РаботникиПредприятия", ТаблицаВычисленияРаботника);
			//ПолеДолжность   = СтрЗаменить(ПолеДолжность, "РаботникиПредприятия", ТаблицаВычисленияРаботника);
			//ПолеОрганизация = СтрЗаменить(ПолеОрганизация, "РаботникиПредприятия", ТаблицаВычисленияРаботника);
			//ПолеПодразделние = СтрЗаменить(ПолеПодразделние, "РаботникиОрганизаций", ТаблицаДанныхОРаботниках);
			//ПолеДолжность   = СтрЗаменить(ПолеДолжность, "РаботникиОрганизаций", ТаблицаДанныхОРаботниках);
			//ПолеОрганизация = СтрЗаменить(ПолеОрганизация, "РаботникиОрганизаций", ТаблицаДанныхОРаботниках);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Подразделение""", ПолеПодразделние);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Должность""", ПолеДолжность);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Организация""", ПолеОрганизация);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Подразделение.*""", "("+ПолеПодразделние+").*");
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Должность.*""", "("+ПолеДолжность+").*");
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """УправлениеОтчетаВезде.ПодставитьРасчетПолей.Организация.*""", "("+ПолеОрганизация+").*");
			/*//подстановка выбора реквизитов
*/
			if(true/*ИмяПоляПодразделения = Неопределено И ИмяПоляДолжность = Неопределено И ИмяПоляОрганизация = Неопределено*/)
			{
			}
			//ИсправляемыйТекстЗапроса = ТекстЗапроса;
			//НомерПозиции = Найти(ТекстЗапроса, "{ВЫБРАТЬ");
			while(true/*НомерПозиции > 0*/)
			{
				//ИсправляемыйТекстЗапроса = Прав(ИсправляемыйТекстЗапроса, СтрДлина(ИсправляемыйТекстЗапроса) - НомерПозиции + 1);
				//ТекстЗамены = ИсправляемыйТекстЗапроса;
				//КонецВыбора = Найти(ТекстЗамены, "}");
				if(true/*КонецВыбора = 0*/)
				{
				}
				//ТекстЗамены = Лев(ТекстЗамены, КонецВыбора + 1);
				//КопияТекста = ТекстЗамены;
				if(true/*ИмяПоляПодразделения <> Неопределено*/)
				{
					//ТекстЗамены = СтрЗаменить(ТекстЗамены, ИмяПоляПодразделения+",", ИмяПоляПодразделения+".*,");
				}
				if(true/*ИмяПоляДолжность <> Неопределено*/)
				{
					//ТекстЗамены = СтрЗаменить(ТекстЗамены, ИмяПоляДолжность+",", ИмяПоляДолжность+".*,");
				}
				if(true/*ИмяПоляОрганизация <> Неопределено*/)
				{
					//ТекстЗамены = СтрЗаменить(ТекстЗамены, ИмяПоляОрганизация+",", ИмяПоляОрганизация+".*,");
				}
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, КопияТекста, ТекстЗамены);
				//ИсправляемыйТекстЗапроса = Прав(ИсправляемыйТекстЗапроса, СтрДлина(ИсправляемыйТекстЗапроса) - 9);
				//НомерПозиции = Найти(Прав(ИсправляемыйТекстЗапроса, СтрДлина(ИсправляемыйТекстЗапроса) - 9), "{ВЫБРАТЬ");
			}
			//;;
		}
		// Функция формирует представление периода по дате начала и дате окончания.
		//
		// Параметры
		//  ДатаНачала	   – Дата – дата начала периода.
		//  ДатаОкончания  – Дата – дата окончания периода.
		//  МесяцКратко  - когда Истина, месяц выводится первыми тремя символами
		//  СДатами	   – Булево – признак того, что описание периода будет сформирован
		//					 без указания чисел месяца.
		//  ГодКратко - когда Истина, год выводится 2-мя знаками
		//
		// Возвращаемое значение:
		//   Строка   – строковое представление периода.
		//

		public object ОписаниеПериода(/*ДатаНачала, ДатаОкончания, МесяцКратко = Истина, СДатами = Истина, ГодКратко = Истина*/)
		{
			//ЧислоНачала		= День(ДатаНачала);
			//ЧислоОкончания	= День(ДатаОкончания);
			//ФорматГода = ?(ГодКратко, "ДФ = 'гг'", "ДФ = 'гггг'");
			if(true/*МесяцКратко*/)
			{
				//ОписаниеМесяцаГода = Лев(Формат(ДатаНачала,   "ДФ = 'MMMM'"),3) + " " + Формат(ДатаНачала,    ФорматГода);
				//ОписаниеМесяца2    = Лев(Формат(ДатаОкончания,"ДФ = 'MMMM'"),3) + " " + Формат(ДатаОкончания, ФорматГода);
			}
			if(true/*Месяц(ДатаНачала) <> Месяц(ДатаОкончания)*/)
			{
				if(true/*(ДатаНачала = НачалоМесяца(ДатаНачала)) Или Не СДатами*/)
				{
					//Месяц	= Формат(ДатаНачала, "ДФ=MMMM");
					//УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), Месяц, 1, , Месяц);
					//Перваяполовинадат = Месяц + " " + Формат(ДатаНачала,    ФорматГода);
				}
				if(true/*(ДатаОкончания = КонецМесяца(ДатаОкончания)) Или Не СДатами*/)
				{
					//Месяц	= Формат(ДатаОкончания, "ДФ=MMMM");
					//УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), Месяц, 1, , Месяц);
					//ВтораяПоловинаДат = Месяц + " " + Формат(ДатаОкончания,    ФорматГода);
				}
			}
			return null;
		}
		// ОписаниеПериода
		//////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ВЫЧИСЛЕНИЯ ПОЛУЧЕНИЯ ДАННЫХ ПО СОТРУДНИКУ

		public void ПолучитьТаблицуРаботников(/*Запрос = Неопределено, ТекстЗапроса = Неопределено, НазваниеТаблицы = Неопределено, УдалятьПредыдущийЗапрос = ложь*/)
		{
			/*ТЗ = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	     |	ТаблицаДвижений.Дата,
	     |	ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо,
	     |	ОсновныеНачисленияРаботниковОрганизаций.Сотрудник,
	     |	ОсновныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение КАК Организация,
	     |	ОсновныеНачисленияРаботниковОрганизаций.Организация КАК ГоловнаяОрганизация,
	     |	НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации,
	     |	ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяССылка) КАК ПодразделениеОрганизации,
	     |	ЗНАЧЕНИЕ(Справочник.ДолжностиОрганизаций.ПустаяССылка) КАК Должность
	     |ПОМЕСТИТЬ НеСотрудники
	     |ИЗ
	     |	РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
	     |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |		ПО (ДоговорНаВыполнениеРаботСФизЛицом.Проведен)
	     |			И ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо
	     |			И ОсновныеНачисленияРаботниковОрганизаций.Организация = ВЫБОР
	     |						КОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	     |							ТОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация
	     |						ИНАЧЕ ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация
	     |					КОНЕЦ
	     |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
	     |		ПО ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = РаботникиОрганизаций.Сотрудник.Физлицо
	     |			И ОсновныеНачисленияРаботниковОрганизаций.Организация = РаботникиОрганизаций.Организация
	     |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДвижений КАК ТаблицаДвижений
	     |		ПО ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = ТаблицаДвижений.Физлицо
	     |			И ОсновныеНачисленияРаботниковОрганизаций.Организация = ТаблицаДвижений.ГоловнаяОрганизация
	     |ГДЕ
	     |	РаботникиОрганизаций.Сотрудник ЕСТЬ NULL 
	     |	И ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник ЕСТЬ NULL 
	     |	И ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
	     |{ГДЕ
	     |	ОсновныеНачисленияРаботниковОрганизаций.Сотрудник.*,
	     |	ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо.*,
	     |	ОсновныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение.* КАК Организация,
	     |	ОсновныеНачисленияРаботниковОрганизаций.Организация.* КАК ГоловнаяОрганизация}
	     |
	     |ОБЪЕДИНИТЬ
	     |
	     |ВЫБРАТЬ РАЗЛИЧНЫЕ
	     |	ТаблицаДвижений.Дата,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.Организация,
	     |	НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
	     |	ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяССылка),
	     |	ЗНАЧЕНИЕ(Справочник.ДолжностиОрганизаций.ПустаяССылка)
	     |ИЗ
	     |	РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
	     |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |		ПО (ДоговорНаВыполнениеРаботСФизЛицом.Проведен)
	     |			И ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо
	     |			И ДополнительныеНачисленияРаботниковОрганизаций.Организация = ВЫБОР
	     |						КОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	     |							ТОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация
	     |						ИНАЧЕ ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация
	     |					КОНЕЦ
	     |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
	     |		ПО ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = РаботникиОрганизаций.Сотрудник.Физлицо
	     |			И ДополнительныеНачисленияРаботниковОрганизаций.Организация = РаботникиОрганизаций.Организация
	     |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДвижений КАК ТаблицаДвижений
	     |		ПО ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = ТаблицаДвижений.Физлицо
	     |			И ДополнительныеНачисленияРаботниковОрганизаций.Организация = ТаблицаДвижений.ГоловнаяОрганизация
	     |ГДЕ
	     |	РаботникиОрганизаций.Сотрудник ЕСТЬ NULL 
	     |	И ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник ЕСТЬ NULL 
	     |	И ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
	     |{ГДЕ
	     |	ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо.*,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник.*,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение.* КАК Организация,
	     |	ДополнительныеНачисленияРаботниковОрганизаций.Организация.* КАК ГоловнаяОрганизация}
	     |;
	     |
	     |////////////////////////////////////////////////////////////////////////////////
	     |ВЫБРАТЬ РАЗРЕШЕННЫЕ
	     |	ДатыПоследнихДвижений.Дата КАК Дата,
	     |	ДатыПоследнихДвижений.ФизЛицо КАК Физлицо,
	     |	ДатыПоследнихДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Работающие.ОбособленноеПодразделениеЗавершения
	     |					ИНАЧЕ Работающие.ОбособленноеПодразделение
	     |				КОНЕЦ
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Уволенные.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Уволенные.ОбособленноеПодразделениеЗавершения
	     |					ИНАЧЕ Уволенные.ОбособленноеПодразделение
	     |				КОНЕЦ
	     |		ИНАЧЕ NULL
	     |	КОНЕЦ КАК Организация,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Работающие.ПодразделениеОрганизацииЗавершения
	     |					ИНАЧЕ Работающие.ПодразделениеОрганизации
	     |				КОНЕЦ
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Уволенные.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Уволенные.ПодразделениеОрганизацииЗавершения
	     |					ИНАЧЕ Уволенные.ПодразделениеОрганизации
	     |				КОНЕЦ
	     |		ИНАЧЕ NULL
	     |	КОНЕЦ КАК Подразделение,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Работающие.ДолжностьЗавершения
	     |					ИНАЧЕ Работающие.Должность
	     |				КОНЕЦ
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Уволенные.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Уволенные.ДолжностьЗавершения
	     |					ИНАЧЕ Уволенные.Должность
	     |				КОНЕЦ
	     |		ИНАЧЕ NULL
	     |	КОНЕЦ КАК Должность,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |							И Работающие.ПричинаИзмененияСостоянияЗавершения = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	     |						ТОГДА Работающие.ПериодЗавершения
	     |					ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
	     |				КОНЕЦ
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |				И Работающие.Сотрудник ЕСТЬ NULL 
	     |			ТОГДА Уволенные.Период
	     |		ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
	     |	КОНЕЦ КАК ДатаУвольнения,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА Работающие.Сотрудник
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |				И Работающие.Сотрудник ЕСТЬ NULL 
	     |			ТОГДА Уволенные.Сотрудник
	     |		ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
	     |	КОНЕЦ КАК Сотрудник,
	     |	ДатыПоследнихДвижений.Период КАК ДатаПоследнегоДвижения,
	     |	ВЫБОР
	     |		КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Работающие.ПричинаИзмененияСостоянияЗавершения
	     |					ИНАЧЕ Работающие.ПричинаИзмененияСостояния
	     |				КОНЕЦ
	     |		КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |			ТОГДА ВЫБОР
	     |					КОГДА Уволенные.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |							И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						ТОГДА Уволенные.ПричинаИзмененияСостоянияЗавершения
	     |					ИНАЧЕ Уволенные.ПричинаИзмененияСостояния
	     |				КОНЕЦ
	     |		ИНАЧЕ NULL
	     |	КОНЕЦ КАК Состояние
	     |ПОМЕСТИТЬ Работники
	     |ИЗ
	     |	(ВЫБРАТЬ
	     |		ТаблицаДвижений.ДАТА КАК Дата,
	     |		ТаблицаДвижений.Физлицо КАК ФизЛицо,
	     |		ТаблицаДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |		МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период
	     |	ИЗ
	     |		ТаблицаДвижений КАК ТаблицаДвижений
	     |			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
	     |			ПО ТаблицаДвижений.ДАТА >= РаботникиОрганизаций.Период
	     |				И ТаблицаДвижений.Физлицо = РаботникиОрганизаций.Сотрудник.Физлицо
	     |				И ТаблицаДвижений.ГоловнаяОрганизация = РаботникиОрганизаций.Организация
	     |	ГДЕ
	     |		РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
	     |	{ГДЕ
	     |		РаботникиОрганизаций.Организация.* КАК ГоловнаяОрганизация,
	     |		РаботникиОрганизаций.Сотрудник.Физлицо.* КАК Физлицо}
	     |	
	     |	СГРУППИРОВАТЬ ПО
	     |		ТаблицаДвижений.ДАТА,
	     |		ТаблицаДвижений.Физлицо,
	     |		ТаблицаДвижений.ГоловнаяОрганизация) КАК ДатыПоследнихДвижений
	     |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работающие
	     |		ПО ДатыПоследнихДвижений.ФизЛицо = Работающие.Сотрудник.Физлицо
	     |			И ДатыПоследнихДвижений.Период = Работающие.Период
	     |			И (Работающие.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
	     |			И (Работающие.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))
	     |			И (ДатыПоследнихДвижений.ГоловнаяОрганизация = Работающие.Организация)
	     |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Уволенные
	     |		ПО ДатыПоследнихДвижений.ФизЛицо = Уволенные.Сотрудник.Физлицо
	     |			И ДатыПоследнихДвижений.Период = Уволенные.Период
	     |			И (Уволенные.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
	     |			И (Уволенные.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))
	     |			И (ДатыПоследнихДвижений.ГоловнаяОрганизация = Уволенные.Организация)
	     |{ГДЕ
	     |	ДатыПоследнихДвижений.ФизЛицо,
	     |	ДатыПоследнихДвижений.ГоловнаяОрганизация.*,
	     |	(ВЫБОР
	     |			КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL 
	     |				ТОГДА ВЫБОР
	     |						КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |								И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |							ТОГДА Работающие.ОбособленноеПодразделениеЗавершения
	     |						ИНАЧЕ Работающие.ОбособленноеПодразделение
	     |					КОНЕЦ
	     |			КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL 
	     |				ТОГДА ВЫБОР
	     |						КОГДА Уволенные.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |								И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |							ТОГДА Уволенные.ОбособленноеПодразделениеЗавершения
	     |						ИНАЧЕ Уволенные.ОбособленноеПодразделение
	     |					КОНЕЦ
	     |			ИНАЧЕ NULL
	     |		КОНЕЦ).* КАК Организация}
	     |;
	     |
	     |////////////////////////////////////////////////////////////////////////////////
	     |ВЫБРАТЬ РАЗРЕШЕННЫЕ
	     |	Договор.Дата,
	     |	Договор.Организация,
	     |	Договор.ФизЛицо,
	     |	Договор.Должность КАК Должность,
	     |	Договор.ГоловнаяОрганизация,
	     |	ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации,
	     |	ДоговорНаВыполнениеРаботСФизЛицом.ДатаОкончания,
	     |	ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник,
	     |	ДоговорНаВыполнениеРаботСФизЛицом.Ссылка КАК Договор
	     |ПОМЕСТИТЬ Договорники
	     |ИЗ
	     |	(ВЫБРАТЬ
	     |		ДатыПоследнихДоговоров.Дата КАК Дата,
	     |		ДатыПоследнихДоговоров.ФизЛицо КАК ФизЛицо,
	     |		ДатыПоследнихДоговоров.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |		ДатыПоследнихДоговоров.Организация КАК Организация,
	     |		ЗНАЧЕНИЕ(Справочник.ДолжностиОрганизаций.ПустаяСсылка) КАК Должность,
	     |		МАКСИМУМ(ДоговорНаВыполнениеРаботСФизЛицом.Ссылка) КАК Ссылка
	     |	ИЗ
	     |		(ВЫБРАТЬ
	     |			ТаблицаДвижений.ДАТА КАК Дата,
	     |			ТаблицаДвижений.Физлицо КАК ФизЛицо,
	     |			ТаблицаДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |			Договора.Организация КАК Организация,
	     |			МАКСИМУМ(Договора.ДатаНачала) КАК ДатаНачала
	     |		ИЗ
	     |			ТаблицаДвижений КАК ТаблицаДвижений
	     |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	     |					ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо КАК Физлицо,
	     |					ДоговорНаВыполнениеРаботСФизЛицом.Организация КАК Организация,
	     |					ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала КАК ДатаНачала,
	     |					ДоговорНаВыполнениеРаботСФизЛицом.ДатаОкончания КАК ДатаОкончания
	     |				ИЗ
	     |					Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |				ГДЕ
	     |					ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала <= &КонецПериода
	     |					И ДоговорНаВыполнениеРаботСФизЛицом.Проведен
	     |				{ГДЕ
	     |					ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо.*,
	     |					ДоговорНаВыполнениеРаботСФизЛицом.Организация.*}) КАК Договора
	     |				ПО ТаблицаДвижений.ДАТА >= Договора.ДатаНачала
	     |					И ТаблицаДвижений.Физлицо = Договора.ФизЛицо
	     |					И (ТаблицаДвижений.ГоловнаяОрганизация = ВЫБОР
	     |						КОГДА Договора.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	     |							ТОГДА Договора.Организация
	     |						ИНАЧЕ Договора.Организация.ГоловнаяОрганизация
	     |					КОНЕЦ)
	     |		
	     |		СГРУППИРОВАТЬ ПО
	     |			ТаблицаДвижений.ДАТА,
	     |			ТаблицаДвижений.Физлицо,
	     |			ТаблицаДвижений.ГоловнаяОрганизация,
	     |			Договора.Организация) КАК ДатыПоследнихДоговоров
	     |			ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |			ПО ДатыПоследнихДоговоров.ФизЛицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо
	     |				И ДатыПоследнихДоговоров.Организация = ДоговорНаВыполнениеРаботСФизЛицом.Организация
	     |				И ДатыПоследнихДоговоров.ДатаНачала = ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала
	     |	{ГДЕ
	     |		ДоговорНаВыполнениеРаботСФизЛицом.Организация.*,
	     |		ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо.*}
	     |	
	     |	СГРУППИРОВАТЬ ПО
	     |		ДатыПоследнихДоговоров.Дата,
	     |		ДатыПоследнихДоговоров.ФизЛицо,
	     |		ДатыПоследнихДоговоров.ГоловнаяОрганизация,
	     |		ДатыПоследнихДоговоров.Организация) КАК Договор
	     |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |		ПО Договор.Ссылка = ДоговорНаВыполнениеРаботСФизЛицом.Ссылка
	     |{ГДЕ
	     |	Договор.Организация.*,
	     |	Договор.ФизЛицо,
	     |	Договор.Должность.*,
	     |	Договор.ГоловнаяОрганизация}
	     |;
	     |
	     |////////////////////////////////////////////////////////////////////////////////
	     |ВЫБРАТЬ
	     |	Работники.Дата КАК Дата,
	     |	Работники.Физлицо КАК Физлицо,
	     |	Работники.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |	Работники.Организация КАК Организация,
	     |	Работники.Подразделение КАК Подразделение,
	     |	Работники.Должность КАК Должность,
	     |	Работники.Сотрудник КАК Сотрудник,
	     |	Работники.Должность.КатегорияСтатистическогоУчета КАК КатегорияСтатистическогоУчета,
	     |	Работники.Сотрудник.ВидДоговора КАК ВидДоговора,
	     |	Работники.Сотрудник.Код КАК ТабельныйНомер,
	     |	Работники.ДатаПоследнегоДвижения,
	     |	NULL КАК Договор,
	     |	Работники.Состояние
	     |ПОМЕСТИТЬ РаботникиПредприятия
	     |ИЗ
	     |	Работники КАК Работники
	     |		ЛЕВОЕ СОЕДИНЕНИЕ Договорники КАК Договорники
	     |		ПО Работники.Физлицо = Договорники.ФизЛицо
	     |			И Работники.ГоловнаяОрганизация = Договорники.ГоловнаяОрганизация
	     |			И Работники.Дата = Договорники.Дата
	     |ГДЕ
	     |	(Работники.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
	     |			ИЛИ Работники.ДатаУвольнения > Работники.Дата
	     |			ИЛИ Договорники.ФизЛицо ЕСТЬ NULL 
	     |			ИЛИ Договорники.ДатаОкончания < Работники.ДатаУвольнения)
	     |{ГДЕ
	     |	Работники.Физлицо,
	     |	Работники.ГоловнаяОрганизация.*,
	     |	Работники.Организация.*,
	     |	Работники.Подразделение.* КАК ПодразделениеОрганизации,
	     |	Работники.Должность.*,
	     |	Работники.Сотрудник.*,
	     |	Работники.Должность.КатегорияСтатистическогоУчета.* КАК КатегорияСтатистическогоУчета,
	     |	Работники.Сотрудник.ВидДоговора.* КАК ВидДоговора,
	     |	Работники.Сотрудник.Код КАК ТабельныйНомер}
	     |
	     |ОБЪЕДИНИТЬ
	     |
	     |ВЫБРАТЬ
	     |	Договорники.Дата,
	     |	Договорники.ФизЛицо,
	     |	Договорники.ГоловнаяОрганизация,
	     |	Договорники.Организация,
	     |	Договорники.ПодразделениеОрганизации,
	     |	Договорники.Должность,
	     |	Договорники.Сотрудник,
	     |	Договорники.Должность.КатегорияСтатистическогоУчета,
	     |	Договорники.Сотрудник.ВидДоговора,
	     |	Договорники.Сотрудник.Код,
	     |	NULL,
	     |	Договорники.Договор,
	     |	NULL
	     |ИЗ
	     |	Договорники КАК Договорники
	     |		ЛЕВОЕ СОЕДИНЕНИЕ Работники КАК Работники
	     |		ПО Договорники.ФизЛицо = Работники.Физлицо
	     |			И Договорники.ГоловнаяОрганизация = Работники.ГоловнаяОрганизация
	     |			И Договорники.Дата = Работники.Дата
	     |ГДЕ
	     |	(Работники.ДатаУвольнения ЕСТЬ NULL 
	     |			ИЛИ Работники.ДатаУвольнения <> ДАТАВРЕМЯ(1, 1, 1)
	     |				И Договорники.ДатаОкончания > Работники.ДатаУвольнения
	     |				И Работники.ДатаУвольнения <= Работники.Дата)
	     |{ГДЕ
	     |	Договорники.ФизЛицо,
	     |	Договорники.ГоловнаяОрганизация.*,
	     |	Договорники.Организация.*,
	     |	Договорники.ПодразделениеОрганизации.*,
	     |	Договорники.Должность.*,
	     |	Договорники.Сотрудник.*,
	     |	Договорники.Сотрудник.ВидДоговора.* КАК ВидДоговора,
	     |	Договорники.Должность.КатегорияСтатистическогоУчета.* КАК КатегорияСтатистическогоУчета,
	     |	Договорники.Сотрудник.Код КАК ТабельныйНомер}
	     |
	     |ОБЪЕДИНИТЬ
	     |
	     |ВЫБРАТЬ
	     |	НеСотрудники.Дата,
	     |	НеСотрудники.ФизЛицо,
	     |	НеСотрудники.ГоловнаяОрганизация,
	     |	НеСотрудники.Организация,
	     |	НеСотрудники.ПодразделениеОрганизации,
	     |	НеСотрудники.Должность,
	     |	НеСотрудники.Сотрудник,
	     |	НеСотрудники.Должность.КатегорияСтатистическогоУчета,
	     |	НеСотрудники.Сотрудник.ВидДоговора,
	     |	НеСотрудники.Сотрудник.Код,
	     |	NULL,
	     |	NULL,
	     |	NULL
	     |ИЗ
	     |	НеСотрудники КАК НеСотрудники
	     |{ГДЕ
	     |	НеСотрудники.ФизЛицо.*,
	     |	НеСотрудники.ГоловнаяОрганизация.*,
	     |	НеСотрудники.Организация.*,
	     |	НеСотрудники.ПодразделениеОрганизации.*,
	     |	НеСотрудники.Должность.*,
	     |	НеСотрудники.Сотрудник.*,
	     |	НеСотрудники.Должность.КатегорияСтатистическогоУчета.* КАК КатегорияСтатистическогоУчета,
	     |	НеСотрудники.Сотрудник.ВидДоговора.* КАК ВидДоговора,
	     |	НеСотрудники.Сотрудник.Код КАК ТабельныйНомер}";*/
			if(true/*НазваниеТаблицы <> Неопределено*/)
			{
				//ТЗ = СтрЗаменить(ТЗ, "ТаблицаДвижений КАК", НазваниеТаблицы+" КАК");
			}
			if(true/*Запрос <> Неопределено*/)
			{
				//ТекстЗапроса = Запрос.Текст;
				//Запрос.Текст = ТЗ;
				//Запрос.Выполнить();
				//Запрос.Текст = ТекстЗапроса;
			}
		}

		public void ПолучитьТаблицуДатуПоследнегоДвижения(/*Запрос = Неопределено, ТекстЗапроса = Неопределено, НазваниеТаблицы = Неопределено, УдалятьПредыдущийЗапрос = ложь*/)
		{
			/*ТЗ = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
	     |	ОсновныеРаботники.ГоловнаяОрганизация,
	     |	ОсновныеРаботники.Период КАК ДатаПоследнегоДвижения,
	     |	ОсновныеРаботники.Дата,
	     |	ОсновныеРаботники.Сотрудник,
	     |	ОсновныеРаботники.Состояние
	     |ПОМЕСТИТЬ ОсновныеРаботники
	     |ИЗ
	     |	(ВЫБРАТЬ
	     |		ДатыПоследнихДвижений.Сотрудник КАК Сотрудник,
	     |		ДатыПоследнихДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |		ДатыПоследнихДвижений.Период КАК Период,
	     |		ДатыПоследнихДвижений.Дата КАК Дата,
	     |		МАКСИМУМ(ВЫБОР
	     |				КОГДА РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	     |						И РаботникиОрганизаций.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
	     |					ТОГДА РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения
	     |				ИНАЧЕ РаботникиОрганизаций.ПричинаИзмененияСостояния
	     |			КОНЕЦ) КАК Состояние
	     |	ИЗ
	     |		(ВЫБРАТЬ
	     |			ТаблицаДвижений.Дата КАК Дата,
	     |			ТаблицаДвижений.Сотрудник КАК Сотрудник,
	     |			ТаблицаДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |			МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период
	     |		ИЗ
	     |			ТаблицаДвижений КАК ТаблицаДвижений
	     |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
	     |				ПО ТаблицаДвижений.Дата >= РаботникиОрганизаций.Период
	     |					И ТаблицаДвижений.ГоловнаяОрганизация = РаботникиОрганизаций.Организация
	     |					И ТаблицаДвижений.Сотрудник = РаботникиОрганизаций.Сотрудник
	     |		
	     |		СГРУППИРОВАТЬ ПО
	     |			ТаблицаДвижений.Дата,
	     |			ТаблицаДвижений.Сотрудник,
	     |			ТаблицаДвижений.ГоловнаяОрганизация) КАК ДатыПоследнихДвижений
	     |			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
	     |			ПО ДатыПоследнихДвижений.ГоловнаяОрганизация = РаботникиОрганизаций.Организация
	     |				И ДатыПоследнихДвижений.Период = РаботникиОрганизаций.Период
	     |				И ДатыПоследнихДвижений.Сотрудник = РаботникиОрганизаций.Сотрудник
	     |	
	     |	СГРУППИРОВАТЬ ПО
	     |		ДатыПоследнихДвижений.Сотрудник,
	     |		ДатыПоследнихДвижений.Период,
	     |		ДатыПоследнихДвижений.ГоловнаяОрганизация,
	     |		ДатыПоследнихДвижений.Дата) КАК ОсновныеРаботники
	     |;
	     |
	     |////////////////////////////////////////////////////////////////////////////////
	     |ВЫБРАТЬ РАЗРЕШЕННЫЕ
	     |	Договорники.ГоловнаяОрганизация,
	     |	Договорники.Дата,
	     |	Договорники.Сотрудник,
	     |	Договорники.ДатаНачала,
	     |	Договорники.Договор
	     |ПОМЕСТИТЬ Договорники
	     |ИЗ
	     |	(ВЫБРАТЬ
	     |		ДатыПоследнихДвижений.Сотрудник КАК Сотрудник,
	     |		ДатыПоследнихДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |		ДатыПоследнихДвижений.Дата КАК Дата,
	     |		ДатыПоследнихДвижений.ДатаНачала КАК ДатаНачала,
	     |		МАКСИМУМ(ДоговорНаВыполнениеРаботСФизЛицом.Ссылка) КАК Договор
	     |	ИЗ
	     |		(ВЫБРАТЬ
	     |			ТаблицаДвижений.Дата КАК Дата,
	     |			ТаблицаДвижений.Сотрудник КАК Сотрудник,
	     |			ТаблицаДвижений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	     |			МАКСИМУМ(ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала) КАК ДатаНачала
	     |		ИЗ
	     |			ТаблицаДвижений КАК ТаблицаДвижений
	     |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |				ПО ТаблицаДвижений.Дата >= ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала
	     |					И (ТаблицаДвижений.ГоловнаяОрганизация = ВЫБОР
	     |						КОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	     |							ТОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация
	     |						ИНАЧЕ ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация
	     |					КОНЕЦ)
	     |					И (ДоговорНаВыполнениеРаботСФизЛицом.Проведен)
	     |					И ТаблицаДвижений.Сотрудник = ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник
	     |		
	     |		СГРУППИРОВАТЬ ПО
	     |			ТаблицаДвижений.Дата,
	     |			ТаблицаДвижений.Сотрудник,
	     |			ТаблицаДвижений.ГоловнаяОрганизация) КАК ДатыПоследнихДвижений
	     |			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
	     |			ПО ДатыПоследнихДвижений.Сотрудник = ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник
	     |				И ДатыПоследнихДвижений.ГоловнаяОрганизация = ВЫБОР
	     |						КОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	     |							ТОГДА ДоговорНаВыполнениеРаботСФизЛицом.Организация
	     |						ИНАЧЕ ДоговорНаВыполнениеРаботСФизЛицом.Организация.ГоловнаяОрганизация
	     |					КОНЕЦ
	     |				И ДатыПоследнихДвижений.ДатаНачала = ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала
	     |	
	     |	СГРУППИРОВАТЬ ПО
	     |		ДатыПоследнихДвижений.Сотрудник,
	     |		ДатыПоследнихДвижений.ГоловнаяОрганизация,
	     |		ДатыПоследнихДвижений.Дата,
	     |		ДатыПоследнихДвижений.ДатаНачала) КАК Договорники
	     |;
	     |
	     |////////////////////////////////////////////////////////////////////////////////
	     |ВЫБРАТЬ
	     |	ОсновныеРаботники.ГоловнаяОрганизация,
	     |	ОсновныеРаботники.ДатаПоследнегоДвижения,
	     |	ОсновныеРаботники.Дата,
	     |	ОсновныеРаботники.Сотрудник,
	     |	ОсновныеРаботники.Состояние,
	     |	NULL КАК Договор
	     |ПОМЕСТИТЬ РаботникиПредприятия
	     |ИЗ
	     |	ОсновныеРаботники КАК ОсновныеРаботники
	     |
	     |ОБЪЕДИНИТЬ ВСЕ
	     |
	     |ВЫБРАТЬ
	     |	Договорники.ГоловнаяОрганизация,
	     |	Договорники.Дата,
	     |	Договорники.Сотрудник,
	     |	Договорники.ДатаНачала,
	     |	NULL,
	     |	Договорники.Договор
	     |ИЗ
	     |	Договорники КАК Договорники";*/
			if(true/*НазваниеТаблицы <> Неопределено*/)
			{
				//ТЗ = СтрЗаменить(ТЗ, "ТаблицаДвижений КАК", НазваниеТаблицы+" КАК");
			}
			if(true/*Запрос <> Неопределено*/)
			{
				//ТекстЗапроса = Запрос.Текст;
				//Запрос.Текст = ТЗ;
				//Запрос.Выполнить();
				//Запрос.Текст = ТекстЗапроса;
			}
		}
		///////////////////////////////////////////////////////////////////////////////////////////////////////////
		//  ДИАГРАММА ГАНТА
		// Вывод строки отчета (с проверкой необходимости этого вывода)
		//
		// Параметры:
		//	Выборка       - выборка из результата отчета, которая обходится в процедуре
		//	СтруктураПараметров - структура параметров, необходимых для вывода строки
		//	Номер         - число, номер обходимой группировки
		//	ДопСтрока 	  - строка, выводится справа от группировки. по умолчанию пустая
		//

		public object ВывестиСтрокуГруппировки(/*Выборка, СтруктураПараметров, ТочкаРодитель*/)
		{
			if(true/*ТочкаРодитель = Неопределено*/)
			{
				//СтруктураРодитель = Новый Структура;
			}
			//СтруктураГруппировок = Новый Структура;
			//ИмяГруппировки  = Выборка.Группировка();
			//ЗначениеГруппировки = Выборка[ИмяГруппировки];
			//СтруктураГруппировок.Вставить(ИмяГруппировки,ЗначениеГруппировки);
			if(true/*ПустаяСтрока(ПредставлениеГруппировки)*/)
			{
				//ПредставлениеГруппировки = "<...>";
			}
			//Диаграмма = СтруктураПараметров.Диаграмма;
			//Точка = Диаграмма.УстановитьТочку(СтруктураГруппировок, СтруктураРодитель);
			//Точка.Расшифровка = ЗначениеГруппировки;
			//Точка.Цвет               = WebЦвета.СветлоЗеленый;
			//Точка.ДополнительныйЦвет = WebЦвета.СветлоЗеленый;
			//Точка.Текст = ПредставлениеГруппировки;
			return null;
		}
		// ВывестиСтрокуГруппировки()
		// Вывод отрезков диаграммы.
		// Параметры:
		//	Выборка -       Выборка из результата запроса по периоду
		//	СтруктураПараметров - структура общих параметров
		//	ИмяПоказателя - Имя поля показателя. По умолчанию "РесурсЧисло".
		//	ЦветОтрезка - Цвет. Если задан, отрезки будут окрашены таким цветом, иначе - цветом из макета
		//

		public void ВывестиИнтервалы(/*Выборка, СтруктураПараметров, Точка, ПараметрыОтчета*/)
		{
			//Диаграмма = СтруктураПараметров.Диаграмма;
			while(true/*Выборка.СледующийПоЗначениюПоля("Серия")*/)
			{
				//Серия = СтруктураПараметров["Серия" + Выборка.Серия];
				//МассивТочек = Диаграмма.ПолучитьЗначение(Точка, Серия);
				//НачалоИнтервалов = ПараметрыОтчета.ДатаКон;
				//КонецИнтервалов = Дата(1,1,1);
				//ТекстПодсказки = "";
				//Сч = 3;
				while(true/*Выборка.Следующий()*/)
				{
					//Сч = Сч - 1;
					if(true/*ТекстПодсказки <> "" и Сч <> 0*/)
					{
						//ТекстПодсказки = ТекстПодсказки + ";";
					}
					/*// Если построение слишком долгое, например, выбрана слишком мелкая периодичность, 
*/
					/*// то его можно прервать (Ctrl+Break)
*/
					//ОбработкаПрерыванияПользователя();
					//НачИнтервала = Макс(Выборка.НачалоИнтервала, ПараметрыОтчета.ДатаНач);
					//КонИнтервала = ?(Выборка.КонецИнтервала = NULL, ПараметрыОтчета.ДатаКон, Мин(Выборка.КонецИнтервала, ПараметрыОтчета.ДатаКон));
					//НачалоИнтервалов = Мин(НачалоИнтервалов,НачИнтервала);
					//КонецИнтервалов = Макс(КонецИнтервалов,КонИнтервала);
					//Интервал = МассивТочек.Добавить();
					//Интервал.Начало = НачИнтервала;
					//Интервал.Конец 	= КонИнтервала;
					if(true/*Выборка.Серия = "План"*/)
					{
						//Интервал.Цвет = ПараметрыОтчета.мСтильДиаграммыПланУтвержденный;
					}
					//Интервал.Значение.ДополнительныйЦвет = Интервал.Цвет;
					//Интервал.Расшифровка = Выборка.Регистратор;
					if(true/*ПараметрыОтчета.Периодичность = 1*/)
					{
						if(true/*сч > 0*/)
						{
							//ТекстПодсказки = ТекстПодсказки + "" + Формат(НачИнтервала, "ДФ='ЧЧ:мм дд.ММ'") + " - " + Формат(КонИнтервала, "ДФ='ЧЧ:мм дд.ММ'");
						}
						//Интервал.Текст = "" + Формат(НачИнтервала, "ДФ='ЧЧ:мм дд.ММ'") + " - " + Формат(КонИнтервала, "ДФ='ЧЧ:мм дд.ММ'");
						//;;
					}
					/*// добавим текущий интервал во все родительские точки
*/
					//ТочкаРодитель = Точка.Родитель;
					while(true/*ТочкаРодитель <> Неопределено*/)
					{
						//МассивТочекРодителя = Диаграмма.ПолучитьЗначение(ТочкаРодитель, Серия);
						//ТочкаРодитель = ТочкаРодитель.Родитель;
					}
					//;;
				}
				/*;
		
		МассивТочек.Текст = ТекстПодсказки;*/
			}
			//;;
		}
		// Обход выборки из результата запроса по группировкам для вывода строк отчета
		//
		// Параметры:
		//
		//	Выборка       - выборка из результата отчета, которая обходится в процедуре,
		//	СтруктураПараметров - структура параметров, передеваемых в процедуру вывода
		//	                строки отчета,
		//	Номер         - число, номер обходимой группировки
		//

		public void ВывестиВыборку(/*Выборка, СтруктураПараметров, Номер, ТочкаРодитель = Неопределено, ПараметрыОтчета*/)
		{
			//Состояние("Вывод отчета");
			//ОбработкаПрерыванияПользователя();
			//ВсегоГруппировок = СтруктураПараметров.ВсегоГруппировок;
			/*// Берутся группировки все подряд
*/
			while(true/*Выборка.Следующий()*/)
			{
				//ПоследняяГруппировка = (Номер = ВсегоГруппировок-1);
				/*// Для каждого значения группировки строим строку диаграммы
*/
				//Точка = ВывестиСтрокуГруппировки(Выборка, СтруктураПараметров, ТочкаРодитель);
				if(true/*НЕ ПоследняяГруппировка*/)
				{
					//ВывестиВыборку(Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам), СтруктураПараметров, Номер + 1, Точка, ПараметрыОтчета);
				}
			}
			//;;
		}
		// ВывестиВыборку()
		// Выполняет запрос и формирует табличный документ-результат отчета
		// в соответствии с настройками, заданными значениями реквизитов отчета.
		//
		// Параметры:
		//	ДокументРезультат - табличный документ, формируемый отчетом
		//

		public void СформироватьДиаграмму(/*ДиаграммаГанта, ПараметрыОтчета*/)
		{
			//мЧасДень 			= 0;
			//мДеньНеделяМесяц	= 1;
			//мНеделяМесяцГод		= 2;
			//мМесяцГод		    = 3;
			if(true/*ПараметрыОтчета.Периодичность < 0 ИЛИ ПараметрыОтчета.Периодичность > 3*/)
			{
				//Предупреждение("Не выбрана периодичность!");
			}
			if(true/*ПараметрыОтчета.ДатаНач > ПараметрыОтчета.ДатаКон И ПараметрыОтчета.ДатаКон <> '00010101000000'*/)
			{
				//Предупреждение("Дата начала периода не может быть больше даты конца периода");
			}
			if(true/*ПараметрыОтчета.ПостроительОтчета.ИзмеренияСтроки.Количество() = 0*/)
			{
				//Предупреждение("Не выбрано ни одной группировки!");
			}
			if(true/*ПараметрыОтчета.ДатаНач <> Дата('00010101')*/)
			{
				//ПараметрыОтчета.ДатаНач = НачалоДня(ПараметрыОтчета.ДатаНач);
			}
			if(true/*ПараметрыОтчета.ДатаКон <> Дата('00010101')*/)
			{
				//ПараметрыОтчета.ДатаКон = КонецДня(ПараметрыОтчета.ДатаКон);
			}
			/*//РезультатЗапроса = СформироватьЗапрос(Регистратор);
*/
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("НачалоПериода", НачалоДня(ПараметрыОтчета.ДатаНач));
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("КонецПериода",  КонецДня(ПараметрыОтчета.ДатаКон));
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ДатаНач", НачалоДня(ПараметрыОтчета.ДатаНач));
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ДатаКон", НачалоМинуты(КонецДня(ПараметрыОтчета.ДатаКон)));
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ДатаСведений", ПараметрыОтчета.ДатаКон);
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ДатаПослеНачала", ПараметрыОтчета.ДатаНач + 1);
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ТекущаяДата", КонецДня(ОбщегоНазначения.ПолучитьРабочуюДату()));
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("РаботникОрганизацииВОтпуске", Перечисления.СостоянияРаботникаОрганизации.ОтпускЕжегодный);
			/*//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("ПомещениеСвободно", Перечисления.Занятость.Свободно);
*/
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("Свободен", Перечисления.ТипыПериодическихЗадачРаботника.Свободен);
			//ПараметрыОтчета.ПостроительОтчета.Параметры.Вставить("Отпуск", Перечисления.ТипыПериодическихЗадачРаботника.ОтпускЕжегодный);
			//ПараметрыОтчета.ПостроительОтчета.Выполнить();
			//РезультатЗапроса = ПараметрыОтчета.ПостроительОтчета.Результат;
			//ДиаграммаГанта.Обновление = Ложь;
			//ДиаграммаГанта.ОтображениеИнтервала = ОтображениеИнтервалаДиаграммыГанта.Плоский;
			//ДиаграммаГанта.Очистить();
			/*//ДиаграммаГанта.ОбластьЗаголовка.Текст = СформироватьЗаголовок();
*/
			/*// Оформление шкалы времени
*/
			//ЭлементыШкалыВремени = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы;
			/*// очистим коллекцию
*/
			//ПервыйЭлемент = ЭлементыШкалыВремени[0];
			/*// нельзя полностью очитить коллекцию (один элемент будет всегда)
*/
			/*// заполним коллекцию
*/
			if(true/*ПараметрыОтчета.Периодичность = мДеньНеделяМесяц*/)
			{
				//ПервыйЭлемент.Единица = ТипЕдиницыШкалыВремени.Месяц;
				//ПервыйЭлемент.ЛинииДелений = Новый Линия(ТипЛинииДиаграммы.Сплошная, 1);
				//Элемент = ЭлементыШкалыВремени.Добавить();
				//Элемент.Единица = ТипЕдиницыШкалыВремени.Неделя;
				//Элемент.ЛинииДелений = Новый Линия(ТипЛинииДиаграммы.Точечная, 1);
				//Элемент = ЭлементыШкалыВремени.Добавить();
				//Элемент.Единица = ТипЕдиницыШкалыВремени.День;
				//Элемент.ЛинииДелений = Новый Линия(ТипЛинииДиаграммы.Пунктир, 1);
				//Элемент.ФорматДня =  ФорматДняШкалыВремени.ДеньМесяца;
			}
			/*// Вывод данных
*/
			//СтруктураПараметров = Новый Структура;
			//СтруктураПараметров.Вставить("Диаграмма", ДиаграммаГанта);
			//СтруктураПараметров.Вставить("ВсегоГруппировок", ПараметрыОтчета.ПостроительОтчета.ИзмеренияСтроки.Количество());
			//ВывестиВыборку(РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам), СтруктураПараметров, 0, , ПараметрыОтчета);
			//ДиаграммаГанта.ПоказатьУровеньТочек(0);
			//ДиаграммаГанта.Обновление = Истина;
		}
		// СформироватьОтчет()

		public object СформироватьСписокМесяцев(/*ТекстЗапроса, НачалоПериода, КонецПериода*/)
		{
			/*ТекстЗапПоКалендарю = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	|	НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК ПериодРегистрации
	|ПОМЕСТИТЬ Периоды
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
	|ГДЕ
	|	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода";*/
			//ДтНачМесяца = НачалоМесяца(НачалоПериода);
			/*ТекстЗапросаЗамены = "ВЫБРАТЬ
	|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ПериодРегистрации
	|ПОМЕСТИТЬ Периоды";*/
			//ДтНачМесяца = ДобавитьМесяц(ДтНачМесяца, 1);
			while(true/*ДтНачМесяца <= КонецПериода*/)
			{
				/*ТекстЗапросаЗамены =  ТекстЗапросаЗамены + "
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ
		|	ДАТАВРЕМЯ("+Формат(ДтНачМесяца, "ДФ=yyyy")+", "+Месяц(ДтНачМесяца)+", "+День(ДтНачМесяца)+") КАК ПериодРегистрации
		|";*/
				//ДтНачМесяца = ДобавитьМесяц(ДтНачМесяца, 1);
			}
			/*;
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ТекстЗапПоКалендарю, ТекстЗапросаЗамены);*/
			return null;
		}
		//ЗаменитьРегистрРегламентированныйПроизводственныйКалендарь

		public void УстановитьЗапросыСКДПоСоответсвию(/*НаборыДанных, СоответствиеНаборовДанныхИЗапросов*/)
		{
		}
		// Функция возвращает инициалы и фамилию ответсвенного лица используется для получения ФИО a формате И.О. Фамилия
		//

		public object ФамилияИнициалыОтветсвенногоЛица(/*ФизЛицо, Фамилия = "", Имя = "", Отчество = ""*/)
		{
			if(true/*ТипЗнч(ФизЛицо) = Тип("Строка") и Найти(ФизЛицо, ".") = 2*/)
			{
			}
			return null;
		}
	}
}
